# 使用Ubuntu 20.04作为基础镜像
FROM ubuntu:20.04

# 设置环境变量，避免交互式安装
ENV DEBIAN_FRONTEND=noninteractive
ENV DISPLAY=:99

# 设置时区和语言环境
ENV TZ=Asia/Shanghai
ENV LANG=zh_CN.UTF-8
ENV LANGUAGE=zh_CN:zh
ENV LC_ALL=zh_CN.UTF-8

# 清理apt缓存和临时文件
RUN apt-get clean && \
    rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

# 更新系统并安装基础工具（分段安装以避免空间不足）
RUN apt-get update && apt-get install -y \
    wget \
    curl \
    software-properties-common \
    apt-transport-https \
    ca-certificates \
    gnupg \
    lsb-release \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

# 安装桌面环境
RUN apt-get update && apt-get install -y \
    xfce4 \
    xfce4-terminal \
    xfce4-goodies \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

# 安装中文语言支持
RUN apt-get update && apt-get install -y \
    language-pack-zh-hans \
    language-pack-zh-hans-base \
    fonts-wqy-microhei \
    fonts-wqy-zenhei \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

# 安装轻量级文档编辑器（替代LibreOffice）
RUN apt-get update && apt-get install -y \
    abiword \
    abiword-plugin-grammar \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

# 安装文本编辑器和终端
RUN apt-get update && apt-get install -y \
    gedit \
    gedit-plugins \
    xterm \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

# 安装网络工具和系统工具
RUN apt-get update && apt-get install -y \
    firefox \
    dbus-x11 \
    x11-utils \
    xvfb \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

# 配置中文环境
RUN locale-gen zh_CN.UTF-8 && \
    update-locale LANG=zh_CN.UTF-8

# 创建用户目录
RUN mkdir -p /home/ubuntu && \
    chown -R 1000:1000 /home/ubuntu

# 创建启动脚本
RUN echo '#!/bin/bash\n\
# 启动虚拟显示服务器\n\
Xvfb :99 -screen 0 1024x768x24 &\n\
export DISPLAY=:99\n\
\n\
# 启动xfce会话\n\
startxfce4 &\n\
\n\
# 等待xfce启动完成\n\
sleep 5\n\
\n\
# 在桌面上创建快捷方式\n\
mkdir -p /home/ubuntu/Desktop\n\
\n\
# 创建文档编辑器快捷方式\n\
echo "[Desktop Entry]\n\
Version=1.0\n\
Type=Application\n\
Name=AbiWord 文字处理器\n\
Comment=轻量级文字处理器\n\
Exec=abiword\n\
Icon=abiword\n\
Terminal=false\n\
Categories=Office;WordProcessor;" > /home/ubuntu/Desktop/abiword.desktop\n\
\n\
# 创建文本编辑器快捷方式\n\
echo "[Desktop Entry]\n\
Version=1.0\n\
Type=Application\n\
Name=Gedit 文本编辑器\n\
Comment=简单的文本编辑器\n\
Exec=gedit\n\
Icon=gedit\n\
Terminal=false\n\
Categories=Utility;TextEditor;" > /home/ubuntu/Desktop/gedit.desktop\n\
\n\
# 创建终端快捷方式\n\
echo "[Desktop Entry]\n\
Version=1.0\n\
Type=Application\n\
Name=XFCE 终端\n\
Comment=终端模拟器\n\
Exec=xfce4-terminal\n\
Icon=utilities-terminal\n\
Terminal=false\n\
Categories=System;TerminalEmulator;" > /home/ubuntu/Desktop/xfce-terminal.desktop\n\
\n\
# 创建Firefox快捷方式\n\
echo "[Desktop Entry]\n\
Version=1.0\n\
Type=Application\n\
Name=Firefox 浏览器\n\
Comment=网络浏览器\n\
Exec=firefox\n\
Icon=firefox\n\
Terminal=false\n\
Categories=Network;WebBrowser;" > /home/ubuntu/Desktop/firefox.desktop\n\
\n\
# 设置快捷方式权限\n\
chmod +x /home/ubuntu/Desktop/*.desktop\n\
chown -R 1000:1000 /home/ubuntu/Desktop\n\
\n\
# 保持容器运行\n\
tail -f /dev/null' > /start.sh && \
    chmod +x /start.sh

# 暴露VNC端口（如果需要）
EXPOSE 5900

# 设置工作目录
WORKDIR /home/ubuntu

# 启动命令
CMD ["/start.sh"] 